↳ Prolog
↳ PrologToPiTRSProof
t_in_g(N) → U1_g(N, ll_in_ga(N, Xs))
ll_in_ga(s(N), .(X, Xs)) → U5_ga(N, X, Xs, ll_in_ga(N, Xs))
ll_in_ga(0, []) → ll_out_ga(0, [])
U5_ga(N, X, Xs, ll_out_ga(N, Xs)) → ll_out_ga(s(N), .(X, Xs))
U1_g(N, ll_out_ga(N, Xs)) → U2_g(N, select_in_aga(X, Xs, Xs1))
select_in_aga(X, .(Y, Xs), .(Y, Ys)) → U6_aga(X, Y, Xs, Ys, select_in_aga(X, Xs, Ys))
select_in_aga(X, .(X, Xs), Xs) → select_out_aga(X, .(X, Xs), Xs)
U6_aga(X, Y, Xs, Ys, select_out_aga(X, Xs, Ys)) → select_out_aga(X, .(Y, Xs), .(Y, Ys))
U2_g(N, select_out_aga(X, Xs, Xs1)) → U3_g(N, ll_in_ag(M, Xs1))
ll_in_ag(s(N), .(X, Xs)) → U5_ag(N, X, Xs, ll_in_ag(N, Xs))
ll_in_ag(0, []) → ll_out_ag(0, [])
U5_ag(N, X, Xs, ll_out_ag(N, Xs)) → ll_out_ag(s(N), .(X, Xs))
U3_g(N, ll_out_ag(M, Xs1)) → U4_g(N, t_in_g(M))
t_in_g(0) → t_out_g(0)
U4_g(N, t_out_g(M)) → t_out_g(N)
Infinitary Constructor Rewriting Termination of PiTRS implies Termination of Prolog
↳ Prolog
↳ PrologToPiTRSProof
↳ PiTRS
↳ DependencyPairsProof
t_in_g(N) → U1_g(N, ll_in_ga(N, Xs))
ll_in_ga(s(N), .(X, Xs)) → U5_ga(N, X, Xs, ll_in_ga(N, Xs))
ll_in_ga(0, []) → ll_out_ga(0, [])
U5_ga(N, X, Xs, ll_out_ga(N, Xs)) → ll_out_ga(s(N), .(X, Xs))
U1_g(N, ll_out_ga(N, Xs)) → U2_g(N, select_in_aga(X, Xs, Xs1))
select_in_aga(X, .(Y, Xs), .(Y, Ys)) → U6_aga(X, Y, Xs, Ys, select_in_aga(X, Xs, Ys))
select_in_aga(X, .(X, Xs), Xs) → select_out_aga(X, .(X, Xs), Xs)
U6_aga(X, Y, Xs, Ys, select_out_aga(X, Xs, Ys)) → select_out_aga(X, .(Y, Xs), .(Y, Ys))
U2_g(N, select_out_aga(X, Xs, Xs1)) → U3_g(N, ll_in_ag(M, Xs1))
ll_in_ag(s(N), .(X, Xs)) → U5_ag(N, X, Xs, ll_in_ag(N, Xs))
ll_in_ag(0, []) → ll_out_ag(0, [])
U5_ag(N, X, Xs, ll_out_ag(N, Xs)) → ll_out_ag(s(N), .(X, Xs))
U3_g(N, ll_out_ag(M, Xs1)) → U4_g(N, t_in_g(M))
t_in_g(0) → t_out_g(0)
U4_g(N, t_out_g(M)) → t_out_g(N)
T_IN_G(N) → U1_G(N, ll_in_ga(N, Xs))
T_IN_G(N) → LL_IN_GA(N, Xs)
LL_IN_GA(s(N), .(X, Xs)) → U5_GA(N, X, Xs, ll_in_ga(N, Xs))
LL_IN_GA(s(N), .(X, Xs)) → LL_IN_GA(N, Xs)
U1_G(N, ll_out_ga(N, Xs)) → U2_G(N, select_in_aga(X, Xs, Xs1))
U1_G(N, ll_out_ga(N, Xs)) → SELECT_IN_AGA(X, Xs, Xs1)
SELECT_IN_AGA(X, .(Y, Xs), .(Y, Ys)) → U6_AGA(X, Y, Xs, Ys, select_in_aga(X, Xs, Ys))
SELECT_IN_AGA(X, .(Y, Xs), .(Y, Ys)) → SELECT_IN_AGA(X, Xs, Ys)
U2_G(N, select_out_aga(X, Xs, Xs1)) → U3_G(N, ll_in_ag(M, Xs1))
U2_G(N, select_out_aga(X, Xs, Xs1)) → LL_IN_AG(M, Xs1)
LL_IN_AG(s(N), .(X, Xs)) → U5_AG(N, X, Xs, ll_in_ag(N, Xs))
LL_IN_AG(s(N), .(X, Xs)) → LL_IN_AG(N, Xs)
U3_G(N, ll_out_ag(M, Xs1)) → U4_G(N, t_in_g(M))
U3_G(N, ll_out_ag(M, Xs1)) → T_IN_G(M)
t_in_g(N) → U1_g(N, ll_in_ga(N, Xs))
ll_in_ga(s(N), .(X, Xs)) → U5_ga(N, X, Xs, ll_in_ga(N, Xs))
ll_in_ga(0, []) → ll_out_ga(0, [])
U5_ga(N, X, Xs, ll_out_ga(N, Xs)) → ll_out_ga(s(N), .(X, Xs))
U1_g(N, ll_out_ga(N, Xs)) → U2_g(N, select_in_aga(X, Xs, Xs1))
select_in_aga(X, .(Y, Xs), .(Y, Ys)) → U6_aga(X, Y, Xs, Ys, select_in_aga(X, Xs, Ys))
select_in_aga(X, .(X, Xs), Xs) → select_out_aga(X, .(X, Xs), Xs)
U6_aga(X, Y, Xs, Ys, select_out_aga(X, Xs, Ys)) → select_out_aga(X, .(Y, Xs), .(Y, Ys))
U2_g(N, select_out_aga(X, Xs, Xs1)) → U3_g(N, ll_in_ag(M, Xs1))
ll_in_ag(s(N), .(X, Xs)) → U5_ag(N, X, Xs, ll_in_ag(N, Xs))
ll_in_ag(0, []) → ll_out_ag(0, [])
U5_ag(N, X, Xs, ll_out_ag(N, Xs)) → ll_out_ag(s(N), .(X, Xs))
U3_g(N, ll_out_ag(M, Xs1)) → U4_g(N, t_in_g(M))
t_in_g(0) → t_out_g(0)
U4_g(N, t_out_g(M)) → t_out_g(N)
↳ Prolog
↳ PrologToPiTRSProof
↳ PiTRS
↳ DependencyPairsProof
↳ PiDP
↳ DependencyGraphProof
T_IN_G(N) → U1_G(N, ll_in_ga(N, Xs))
T_IN_G(N) → LL_IN_GA(N, Xs)
LL_IN_GA(s(N), .(X, Xs)) → U5_GA(N, X, Xs, ll_in_ga(N, Xs))
LL_IN_GA(s(N), .(X, Xs)) → LL_IN_GA(N, Xs)
U1_G(N, ll_out_ga(N, Xs)) → U2_G(N, select_in_aga(X, Xs, Xs1))
U1_G(N, ll_out_ga(N, Xs)) → SELECT_IN_AGA(X, Xs, Xs1)
SELECT_IN_AGA(X, .(Y, Xs), .(Y, Ys)) → U6_AGA(X, Y, Xs, Ys, select_in_aga(X, Xs, Ys))
SELECT_IN_AGA(X, .(Y, Xs), .(Y, Ys)) → SELECT_IN_AGA(X, Xs, Ys)
U2_G(N, select_out_aga(X, Xs, Xs1)) → U3_G(N, ll_in_ag(M, Xs1))
U2_G(N, select_out_aga(X, Xs, Xs1)) → LL_IN_AG(M, Xs1)
LL_IN_AG(s(N), .(X, Xs)) → U5_AG(N, X, Xs, ll_in_ag(N, Xs))
LL_IN_AG(s(N), .(X, Xs)) → LL_IN_AG(N, Xs)
U3_G(N, ll_out_ag(M, Xs1)) → U4_G(N, t_in_g(M))
U3_G(N, ll_out_ag(M, Xs1)) → T_IN_G(M)
t_in_g(N) → U1_g(N, ll_in_ga(N, Xs))
ll_in_ga(s(N), .(X, Xs)) → U5_ga(N, X, Xs, ll_in_ga(N, Xs))
ll_in_ga(0, []) → ll_out_ga(0, [])
U5_ga(N, X, Xs, ll_out_ga(N, Xs)) → ll_out_ga(s(N), .(X, Xs))
U1_g(N, ll_out_ga(N, Xs)) → U2_g(N, select_in_aga(X, Xs, Xs1))
select_in_aga(X, .(Y, Xs), .(Y, Ys)) → U6_aga(X, Y, Xs, Ys, select_in_aga(X, Xs, Ys))
select_in_aga(X, .(X, Xs), Xs) → select_out_aga(X, .(X, Xs), Xs)
U6_aga(X, Y, Xs, Ys, select_out_aga(X, Xs, Ys)) → select_out_aga(X, .(Y, Xs), .(Y, Ys))
U2_g(N, select_out_aga(X, Xs, Xs1)) → U3_g(N, ll_in_ag(M, Xs1))
ll_in_ag(s(N), .(X, Xs)) → U5_ag(N, X, Xs, ll_in_ag(N, Xs))
ll_in_ag(0, []) → ll_out_ag(0, [])
U5_ag(N, X, Xs, ll_out_ag(N, Xs)) → ll_out_ag(s(N), .(X, Xs))
U3_g(N, ll_out_ag(M, Xs1)) → U4_g(N, t_in_g(M))
t_in_g(0) → t_out_g(0)
U4_g(N, t_out_g(M)) → t_out_g(N)
↳ Prolog
↳ PrologToPiTRSProof
↳ PiTRS
↳ DependencyPairsProof
↳ PiDP
↳ DependencyGraphProof
↳ AND
↳ PiDP
↳ UsableRulesProof
↳ PiDP
↳ PiDP
↳ PiDP
LL_IN_AG(s(N), .(X, Xs)) → LL_IN_AG(N, Xs)
t_in_g(N) → U1_g(N, ll_in_ga(N, Xs))
ll_in_ga(s(N), .(X, Xs)) → U5_ga(N, X, Xs, ll_in_ga(N, Xs))
ll_in_ga(0, []) → ll_out_ga(0, [])
U5_ga(N, X, Xs, ll_out_ga(N, Xs)) → ll_out_ga(s(N), .(X, Xs))
U1_g(N, ll_out_ga(N, Xs)) → U2_g(N, select_in_aga(X, Xs, Xs1))
select_in_aga(X, .(Y, Xs), .(Y, Ys)) → U6_aga(X, Y, Xs, Ys, select_in_aga(X, Xs, Ys))
select_in_aga(X, .(X, Xs), Xs) → select_out_aga(X, .(X, Xs), Xs)
U6_aga(X, Y, Xs, Ys, select_out_aga(X, Xs, Ys)) → select_out_aga(X, .(Y, Xs), .(Y, Ys))
U2_g(N, select_out_aga(X, Xs, Xs1)) → U3_g(N, ll_in_ag(M, Xs1))
ll_in_ag(s(N), .(X, Xs)) → U5_ag(N, X, Xs, ll_in_ag(N, Xs))
ll_in_ag(0, []) → ll_out_ag(0, [])
U5_ag(N, X, Xs, ll_out_ag(N, Xs)) → ll_out_ag(s(N), .(X, Xs))
U3_g(N, ll_out_ag(M, Xs1)) → U4_g(N, t_in_g(M))
t_in_g(0) → t_out_g(0)
U4_g(N, t_out_g(M)) → t_out_g(N)
↳ Prolog
↳ PrologToPiTRSProof
↳ PiTRS
↳ DependencyPairsProof
↳ PiDP
↳ DependencyGraphProof
↳ AND
↳ PiDP
↳ UsableRulesProof
↳ PiDP
↳ PiDPToQDPProof
↳ PiDP
↳ PiDP
↳ PiDP
LL_IN_AG(s(N), .(X, Xs)) → LL_IN_AG(N, Xs)
↳ Prolog
↳ PrologToPiTRSProof
↳ PiTRS
↳ DependencyPairsProof
↳ PiDP
↳ DependencyGraphProof
↳ AND
↳ PiDP
↳ UsableRulesProof
↳ PiDP
↳ PiDPToQDPProof
↳ QDP
↳ QDPSizeChangeProof
↳ PiDP
↳ PiDP
↳ PiDP
LL_IN_AG(.(Xs)) → LL_IN_AG(Xs)
From the DPs we obtained the following set of size-change graphs:
↳ Prolog
↳ PrologToPiTRSProof
↳ PiTRS
↳ DependencyPairsProof
↳ PiDP
↳ DependencyGraphProof
↳ AND
↳ PiDP
↳ PiDP
↳ UsableRulesProof
↳ PiDP
↳ PiDP
SELECT_IN_AGA(X, .(Y, Xs), .(Y, Ys)) → SELECT_IN_AGA(X, Xs, Ys)
t_in_g(N) → U1_g(N, ll_in_ga(N, Xs))
ll_in_ga(s(N), .(X, Xs)) → U5_ga(N, X, Xs, ll_in_ga(N, Xs))
ll_in_ga(0, []) → ll_out_ga(0, [])
U5_ga(N, X, Xs, ll_out_ga(N, Xs)) → ll_out_ga(s(N), .(X, Xs))
U1_g(N, ll_out_ga(N, Xs)) → U2_g(N, select_in_aga(X, Xs, Xs1))
select_in_aga(X, .(Y, Xs), .(Y, Ys)) → U6_aga(X, Y, Xs, Ys, select_in_aga(X, Xs, Ys))
select_in_aga(X, .(X, Xs), Xs) → select_out_aga(X, .(X, Xs), Xs)
U6_aga(X, Y, Xs, Ys, select_out_aga(X, Xs, Ys)) → select_out_aga(X, .(Y, Xs), .(Y, Ys))
U2_g(N, select_out_aga(X, Xs, Xs1)) → U3_g(N, ll_in_ag(M, Xs1))
ll_in_ag(s(N), .(X, Xs)) → U5_ag(N, X, Xs, ll_in_ag(N, Xs))
ll_in_ag(0, []) → ll_out_ag(0, [])
U5_ag(N, X, Xs, ll_out_ag(N, Xs)) → ll_out_ag(s(N), .(X, Xs))
U3_g(N, ll_out_ag(M, Xs1)) → U4_g(N, t_in_g(M))
t_in_g(0) → t_out_g(0)
U4_g(N, t_out_g(M)) → t_out_g(N)
↳ Prolog
↳ PrologToPiTRSProof
↳ PiTRS
↳ DependencyPairsProof
↳ PiDP
↳ DependencyGraphProof
↳ AND
↳ PiDP
↳ PiDP
↳ UsableRulesProof
↳ PiDP
↳ PiDPToQDPProof
↳ PiDP
↳ PiDP
SELECT_IN_AGA(X, .(Y, Xs), .(Y, Ys)) → SELECT_IN_AGA(X, Xs, Ys)
↳ Prolog
↳ PrologToPiTRSProof
↳ PiTRS
↳ DependencyPairsProof
↳ PiDP
↳ DependencyGraphProof
↳ AND
↳ PiDP
↳ PiDP
↳ UsableRulesProof
↳ PiDP
↳ PiDPToQDPProof
↳ QDP
↳ QDPSizeChangeProof
↳ PiDP
↳ PiDP
SELECT_IN_AGA(.(Xs)) → SELECT_IN_AGA(Xs)
From the DPs we obtained the following set of size-change graphs:
↳ Prolog
↳ PrologToPiTRSProof
↳ PiTRS
↳ DependencyPairsProof
↳ PiDP
↳ DependencyGraphProof
↳ AND
↳ PiDP
↳ PiDP
↳ PiDP
↳ UsableRulesProof
↳ PiDP
LL_IN_GA(s(N), .(X, Xs)) → LL_IN_GA(N, Xs)
t_in_g(N) → U1_g(N, ll_in_ga(N, Xs))
ll_in_ga(s(N), .(X, Xs)) → U5_ga(N, X, Xs, ll_in_ga(N, Xs))
ll_in_ga(0, []) → ll_out_ga(0, [])
U5_ga(N, X, Xs, ll_out_ga(N, Xs)) → ll_out_ga(s(N), .(X, Xs))
U1_g(N, ll_out_ga(N, Xs)) → U2_g(N, select_in_aga(X, Xs, Xs1))
select_in_aga(X, .(Y, Xs), .(Y, Ys)) → U6_aga(X, Y, Xs, Ys, select_in_aga(X, Xs, Ys))
select_in_aga(X, .(X, Xs), Xs) → select_out_aga(X, .(X, Xs), Xs)
U6_aga(X, Y, Xs, Ys, select_out_aga(X, Xs, Ys)) → select_out_aga(X, .(Y, Xs), .(Y, Ys))
U2_g(N, select_out_aga(X, Xs, Xs1)) → U3_g(N, ll_in_ag(M, Xs1))
ll_in_ag(s(N), .(X, Xs)) → U5_ag(N, X, Xs, ll_in_ag(N, Xs))
ll_in_ag(0, []) → ll_out_ag(0, [])
U5_ag(N, X, Xs, ll_out_ag(N, Xs)) → ll_out_ag(s(N), .(X, Xs))
U3_g(N, ll_out_ag(M, Xs1)) → U4_g(N, t_in_g(M))
t_in_g(0) → t_out_g(0)
U4_g(N, t_out_g(M)) → t_out_g(N)
↳ Prolog
↳ PrologToPiTRSProof
↳ PiTRS
↳ DependencyPairsProof
↳ PiDP
↳ DependencyGraphProof
↳ AND
↳ PiDP
↳ PiDP
↳ PiDP
↳ UsableRulesProof
↳ PiDP
↳ PiDPToQDPProof
↳ PiDP
LL_IN_GA(s(N), .(X, Xs)) → LL_IN_GA(N, Xs)
↳ Prolog
↳ PrologToPiTRSProof
↳ PiTRS
↳ DependencyPairsProof
↳ PiDP
↳ DependencyGraphProof
↳ AND
↳ PiDP
↳ PiDP
↳ PiDP
↳ UsableRulesProof
↳ PiDP
↳ PiDPToQDPProof
↳ QDP
↳ QDPSizeChangeProof
↳ PiDP
LL_IN_GA(s(N)) → LL_IN_GA(N)
From the DPs we obtained the following set of size-change graphs:
↳ Prolog
↳ PrologToPiTRSProof
↳ PiTRS
↳ DependencyPairsProof
↳ PiDP
↳ DependencyGraphProof
↳ AND
↳ PiDP
↳ PiDP
↳ PiDP
↳ PiDP
↳ UsableRulesProof
U2_G(N, select_out_aga(X, Xs, Xs1)) → U3_G(N, ll_in_ag(M, Xs1))
T_IN_G(N) → U1_G(N, ll_in_ga(N, Xs))
U3_G(N, ll_out_ag(M, Xs1)) → T_IN_G(M)
U1_G(N, ll_out_ga(N, Xs)) → U2_G(N, select_in_aga(X, Xs, Xs1))
t_in_g(N) → U1_g(N, ll_in_ga(N, Xs))
ll_in_ga(s(N), .(X, Xs)) → U5_ga(N, X, Xs, ll_in_ga(N, Xs))
ll_in_ga(0, []) → ll_out_ga(0, [])
U5_ga(N, X, Xs, ll_out_ga(N, Xs)) → ll_out_ga(s(N), .(X, Xs))
U1_g(N, ll_out_ga(N, Xs)) → U2_g(N, select_in_aga(X, Xs, Xs1))
select_in_aga(X, .(Y, Xs), .(Y, Ys)) → U6_aga(X, Y, Xs, Ys, select_in_aga(X, Xs, Ys))
select_in_aga(X, .(X, Xs), Xs) → select_out_aga(X, .(X, Xs), Xs)
U6_aga(X, Y, Xs, Ys, select_out_aga(X, Xs, Ys)) → select_out_aga(X, .(Y, Xs), .(Y, Ys))
U2_g(N, select_out_aga(X, Xs, Xs1)) → U3_g(N, ll_in_ag(M, Xs1))
ll_in_ag(s(N), .(X, Xs)) → U5_ag(N, X, Xs, ll_in_ag(N, Xs))
ll_in_ag(0, []) → ll_out_ag(0, [])
U5_ag(N, X, Xs, ll_out_ag(N, Xs)) → ll_out_ag(s(N), .(X, Xs))
U3_g(N, ll_out_ag(M, Xs1)) → U4_g(N, t_in_g(M))
t_in_g(0) → t_out_g(0)
U4_g(N, t_out_g(M)) → t_out_g(N)
↳ Prolog
↳ PrologToPiTRSProof
↳ PiTRS
↳ DependencyPairsProof
↳ PiDP
↳ DependencyGraphProof
↳ AND
↳ PiDP
↳ PiDP
↳ PiDP
↳ PiDP
↳ UsableRulesProof
↳ PiDP
↳ PiDPToQDPProof
U2_G(N, select_out_aga(X, Xs, Xs1)) → U3_G(N, ll_in_ag(M, Xs1))
T_IN_G(N) → U1_G(N, ll_in_ga(N, Xs))
U3_G(N, ll_out_ag(M, Xs1)) → T_IN_G(M)
U1_G(N, ll_out_ga(N, Xs)) → U2_G(N, select_in_aga(X, Xs, Xs1))
ll_in_ag(s(N), .(X, Xs)) → U5_ag(N, X, Xs, ll_in_ag(N, Xs))
ll_in_ag(0, []) → ll_out_ag(0, [])
ll_in_ga(s(N), .(X, Xs)) → U5_ga(N, X, Xs, ll_in_ga(N, Xs))
ll_in_ga(0, []) → ll_out_ga(0, [])
select_in_aga(X, .(Y, Xs), .(Y, Ys)) → U6_aga(X, Y, Xs, Ys, select_in_aga(X, Xs, Ys))
select_in_aga(X, .(X, Xs), Xs) → select_out_aga(X, .(X, Xs), Xs)
U5_ag(N, X, Xs, ll_out_ag(N, Xs)) → ll_out_ag(s(N), .(X, Xs))
U5_ga(N, X, Xs, ll_out_ga(N, Xs)) → ll_out_ga(s(N), .(X, Xs))
U6_aga(X, Y, Xs, Ys, select_out_aga(X, Xs, Ys)) → select_out_aga(X, .(Y, Xs), .(Y, Ys))
↳ Prolog
↳ PrologToPiTRSProof
↳ PiTRS
↳ DependencyPairsProof
↳ PiDP
↳ DependencyGraphProof
↳ AND
↳ PiDP
↳ PiDP
↳ PiDP
↳ PiDP
↳ UsableRulesProof
↳ PiDP
↳ PiDPToQDPProof
↳ QDP
↳ RuleRemovalProof
T_IN_G(N) → U1_G(ll_in_ga(N))
U3_G(ll_out_ag(M)) → T_IN_G(M)
U2_G(select_out_aga(Xs1)) → U3_G(ll_in_ag(Xs1))
U1_G(ll_out_ga(Xs)) → U2_G(select_in_aga(Xs))
ll_in_ag(.(Xs)) → U5_ag(ll_in_ag(Xs))
ll_in_ag([]) → ll_out_ag(0)
ll_in_ga(s(N)) → U5_ga(ll_in_ga(N))
ll_in_ga(0) → ll_out_ga([])
select_in_aga(.(Xs)) → U6_aga(select_in_aga(Xs))
select_in_aga(.(Xs)) → select_out_aga(Xs)
U5_ag(ll_out_ag(N)) → ll_out_ag(s(N))
U5_ga(ll_out_ga(Xs)) → ll_out_ga(.(Xs))
U6_aga(select_out_aga(Ys)) → select_out_aga(.(Ys))
ll_in_ag(x0)
ll_in_ga(x0)
select_in_aga(x0)
U5_ag(x0)
U5_ga(x0)
U6_aga(x0)
U2_G(select_out_aga(Xs1)) → U3_G(ll_in_ag(Xs1))
U1_G(ll_out_ga(Xs)) → U2_G(select_in_aga(Xs))
U6_aga(select_out_aga(Ys)) → select_out_aga(.(Ys))
POL(.(x1)) = 2 + 2·x1
POL(0) = 0
POL(T_IN_G(x1)) = 1 + 2·x1
POL(U1_G(x1)) = x1
POL(U2_G(x1)) = x1
POL(U3_G(x1)) = 1 + x1
POL(U5_ag(x1)) = 2 + 2·x1
POL(U5_ga(x1)) = 1 + 2·x1
POL(U6_aga(x1)) = 2 + 2·x1
POL([]) = 0
POL(ll_in_ag(x1)) = x1
POL(ll_in_ga(x1)) = 1 + 2·x1
POL(ll_out_ag(x1)) = 2·x1
POL(ll_out_ga(x1)) = 1 + x1
POL(s(x1)) = 1 + 2·x1
POL(select_in_aga(x1)) = x1
POL(select_out_aga(x1)) = 2 + x1
↳ Prolog
↳ PrologToPiTRSProof
↳ PiTRS
↳ DependencyPairsProof
↳ PiDP
↳ DependencyGraphProof
↳ AND
↳ PiDP
↳ PiDP
↳ PiDP
↳ PiDP
↳ UsableRulesProof
↳ PiDP
↳ PiDPToQDPProof
↳ QDP
↳ RuleRemovalProof
↳ QDP
↳ DependencyGraphProof
T_IN_G(N) → U1_G(ll_in_ga(N))
U3_G(ll_out_ag(M)) → T_IN_G(M)
ll_in_ag(.(Xs)) → U5_ag(ll_in_ag(Xs))
ll_in_ag([]) → ll_out_ag(0)
ll_in_ga(s(N)) → U5_ga(ll_in_ga(N))
ll_in_ga(0) → ll_out_ga([])
select_in_aga(.(Xs)) → U6_aga(select_in_aga(Xs))
select_in_aga(.(Xs)) → select_out_aga(Xs)
U5_ag(ll_out_ag(N)) → ll_out_ag(s(N))
U5_ga(ll_out_ga(Xs)) → ll_out_ga(.(Xs))
ll_in_ag(x0)
ll_in_ga(x0)
select_in_aga(x0)
U5_ag(x0)
U5_ga(x0)
U6_aga(x0)